package listeners;

import interface_grafica.TelaConsultaSocio;
import interface_grafica.TelaEdicaoSocio;
import interface_grafica.TelaPrincipal;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.plaf.basic.BasicBorders.RadioButtonBorder;

import banco.Queries;

public class ListenersTelaConsultaSocio implements ActionListener,
		ListSelectionListener {

	@Override
	public void actionPerformed(ActionEvent e) {

		TelaConsultaSocio tela = TelaConsultaSocio.getInstance();

		tela.getTabelaSocios().getSelectionModel()
				.addListSelectionListener(new ListSelectionListener() {
					public void valueChanged(ListSelectionEvent e) {
						if (!e.getValueIsAdjusting()) {
							JOptionPane.showMessageDialog(null, "TESTE");
						}
					}
				});

	}// actionPerformed

	@Override
	public void valueChanged(ListSelectionEvent e) {
		TelaConsultaSocio tela = TelaConsultaSocio.getInstance();

		ListSelectionModel model = tela.getTabelaSocios().getSelectionModel();
		int lead = model.getLeadSelectionIndex();
		displayRowValues(lead);
	}

	private void displayRowValues(int rowIndex) {
		TelaConsultaSocio tela = TelaConsultaSocio.getInstance();
		int columns = tela.getTabelaSocios().getColumnCount();

		int tipo = 0;
		String id = "";
		String nome = "";

		Object o = null;

		for (int col = 0; col < columns; col++) {
			o = tela.getTabelaSocios().getValueAt(rowIndex, col);
			System.out.println(o);
			String aux[] = new String[3];
			aux[col] = o.toString();

			if (aux[0] != null) {
				id = aux[0];
			}
			if (aux[1] != null) {
				nome = aux[1];
			}
			if (aux[2] != null) {
				if (aux[2].equals("Diretor"))
					tipo = 1;
				else
					tipo = 0;
			}

		}

		Queries query = new Queries();

		String tabela = "socio";
		String condicao = "nome = '" + nome + "' AND codsocio='" + id
				+ "' AND tiposocio='" + String.valueOf(tipo) + "'";

		try {

			ResultSet rs = query.consultar(tabela, condicao);

			while (rs.next()) {

				String rua = rs.getString("rua");
				String bairro = rs.getString("bairro");
				String cep = rs.getString("cep");
				String numeroCasa = rs.getString("numero");
				String complemento = rs.getString("complemento");
				String telefone = rs.getString("telefone");

				String cpf = rs.getString("cpf");
				String identidade = rs.getString("identidade");
				String dataNascimento = rs.getString("datanascimento");
				String nomeMae = rs.getString("nomemae");
				String nomePai = rs.getString("nomepai");
				String email = rs.getString("email");
				String naturalidade = rs.getString("naturalidade");
				String profissao = rs.getString("profissao");
				String sexo = rs.getString("sexo");

				int estadoCivil = rs.getInt("estadocivil");
				int filho = rs.getInt("filho");
				int escolaridade = rs.getInt("escolaridade");

				TelaEdicaoSocio tela2 = TelaEdicaoSocio.getInstance();

				tela2.setNomeSocio(nome);

				tela2.setCpfSocio(cpf);
				tela2.setIdentidadeSocio(identidade);
				tela2.setProfissaoSocio(profissao);
				tela2.setMaeSocio(nomeMae);
				tela2.setPaiSocio(nomePai);
				tela2.setRuaESocio(rua);
				tela2.setBairroESocio(bairro);
				tela2.setCepESocio(cep);
				tela2.setNumeroESocio(numeroCasa);
				tela2.setComplementoESocio(complemento);
				tela2.setNascimentoSocio(dataNascimento);
				tela2.setNaturalidadeSocio(naturalidade);
				tela2.setEmailSocio(email);
				tela2.setTelefoneSocio(telefone);
				tela2.setIdSocio(id);
				tela2.getEstadoCivilSocio().setSelectedIndex(estadoCivil);
				tela2.getEscolaridadeSocio().setSelectedIndex(escolaridade);
				tela2.getTipoSocio().setSelectedIndex(tipo);
				tela2.getFilhosSocio().setSelectedIndex(filho);
				if (sexo.equals("f"))
					tela2.getOpcaoSexo().setSelected(
							tela2.getjRadioButton1().getModel(), true);
				else
					tela2.getOpcaoSexo().setSelected(
							tela2.getjRadioButton2().getModel(), true);

				TelaPrincipal frame = TelaPrincipal.getInstance();

				tela2.setBounds(10, 11, 1063, 557);
				frame.getPanel().removeAll();
				frame.getPanel().add(tela2);
				frame.repaint();
				frame.validate();

			}
			rs.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}

	}

}